package bean;


import java.io.Serializable;


/**
 * 消息结果
 */
public class ResultMessageObject implements Serializable
{

    private static final long serialVersionUID = 1086395787514715764L;

    /**
     * 消息结果类在session中存放的key
     */
    public static final String RESULT_MESSAGE_KEY = "resultMessage";


    /**
     * 构造函数
     */
    public ResultMessageObject()
    {
    }


    /**
     * 设定转移地址,消息code,消息参数
     *
     * @param forward 转移地址
     * @param code 消息code
     * @param args 消息参数
     */
    public ResultMessageObject( String forward, String code, String... args )
    {
        this.forward = forward;
        this.code = code;
        this.args = args;
    }


    /**
     * 设定转移地址,消息code
     *
     * @param forward 转移地址
     * @param code 消息code
     */
    public ResultMessageObject( String forward, String code )
    {
        this( forward, code, new String[]
            {} );
    }

    /**
     * 消息参数
     */
    String[] args;

    /**
     * 是否是系统错误
     */
    private boolean syserror;

    /**
     * 错误发生时的错误内容
     */
    private Throwable error;

    /**
     * 消息code
     */
    private String code;

    /**
     * 消息内容
     */
    private String message;

    /**
     * 标题code
     */
    private String titleCode;

    /**
     * 标题消息内容
     */
    private String titleMessage;

    /**
     * 转移地址
     */
    private String forward;

    /**
     * 功能Id
     */
    private String functionId;


    /**
     * 设定消息code
     *
     * @param code 消息code
     */
    public void setCode( String code )
    {
        this.code = code;
    }


    /**
     * 得到消息code
     *
     * @return 消息code
     */
    public String getCode()
    {
        return code;
    }


    /**
     * 设定消息内容
     *
     * @param message 消息内容
     */
    public void setMessage( String message )
    {
        this.message = message;
    }


    /**
     * 得到消息内容
     *
     * @return 消息内容
     */
    public String getMessage()
    {
        return message;
    }


    /**
     * 设定标题code
     *
     * @param titleCode 标题code
     */
    public void setTitleCode( String titleCode )
    {
        this.titleCode = titleCode;
    }


    /**
     * 得到标题code
     *
     * @return 标题code
     */
    public String getTitleCode()
    {
        return titleCode;
    }


    /**
     * 设定标题消息内容
     *
     * @param titleMessage 标题消息内容
     */
    public void setTitleMessage( String titleMessage )
    {
        this.titleMessage = titleMessage;
    }


    /**
     * 得到标题消息内容
     *
     * @return 标题消息内容
     */
    public String getTitleMessage()
    {
        return titleMessage;
    }


    /**
     * 
     *
     * @param forward 转移地址
     */
    public void setForward( String forward )
    {
        this.forward = forward;
    }


    /**
     * 得到转移地址
     *
     * @return 转移地址
     */
    public String getForward()
    {
        return forward;
    }


    /**
     * 设定功能Id
     *
     * @param functionId 功能Id
     */
    public void setFunctionId( String functionId )
    {
        this.functionId = functionId;
    }


    /**
     * 得到功能Id
     *
     * @return 功能Id
     */
    public String getFunctionId()
    {
        return functionId;
    }


    /**
     * 设定消息code和消息参数
     *
     * @param code 消息code
     * @param args 消息参数
     */
    public void setCode( String code, String... args )
    {
        this.code = code;
        this.args = args;
    }


    /**
     * 得到消息参数
     *
     * @return 得到消息参数
     */
    public String[] getArgs()
    {
        return args;
    }


    /**
     * 设定消息参数
     *
     * @param args 消息参数
     */
    public void setArgs( String[] args )
    {
        this.args = args;
    }


    /**
     * 得到是否是系统错误
     *
     * @return 是否是系统错误
     */
    public boolean isSyserror()
    {
        return syserror;
    }


    /**
     * 设定是否是系统错误
     *
     * @param syserror 是否是系统错误
     */
    public void setSyserror( boolean syserror )
    {
        this.syserror = syserror;
    }


    /**
     * 得到错误发生时的错误内容
     *
     * @return 错误发生时的错误内容
     */
    public Throwable getError()
    {
        return error;
    }


    /**
     * 设定错误发生时的错误内容
     *
     * @param error 错误发生时的错误内容
     */
    public void setError( Throwable error )
    {
        this.error = error;
    }

}
